﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml.Serialization;

namespace CobreDireto.net
{
    /// <summary>
    /// Status dos pedidos
    /// </summary>
    public enum OrderStatus
    {
        /// <summary>
        /// Pedido pago com sucesso
        /// </summary>
        [XmlEnum("0")]
        Pago = 0,

        /// <summary>
        /// Comprador finaliza pagamento sem sucesso e o pedido é dado como terminado pela instituição financeira.
        /// </summary>
        [XmlEnum("1")]
        NaoPago = 1,


        /// <summary>
        /// Este status acontece quando a transação não pode mais ser processada pelo CobreDireto. 
        /// Esta mudança pode ocorrer por regras da própria loja ou por ação manual via painel de controle do CobreDireto.
        /// </summary>
        [XmlEnum("2")]
        Invalido = 2,

        /// <summary>
        /// Pagamento cancelado.
        /// </summary>
        [XmlEnum("3")]
        Cancelado = 3,

        /// <summary>
        /// Este é o status inicial do pedido
        /// </summary>
        [XmlEnum("4")]
        NaoEfetivado = 4,
        

        /// <summary>
        /// Ocorre quando o comprador não tem saldo suficiente em sua conta bancária.
        /// </summary>
        [XmlEnum("5")]
        PendenteDeSaldo = 5,        
        
        /// <summary>
        /// Ocorre quando a instituição financeira está aguardando o pagamento. 
        /// Ocorre para métodos de pagamento via boleto ou para débito Real entre as 0h e 7h.
        /// </summary>
        [XmlEnum("7")]
        PendenteDePagamento = 7,

        /// <summary>
        /// Ocorre quando o comprador pagou valor inferior ao valor total do pedido. 
        /// Geralmente isto ocorre quando o usuário tenta fraudar o pagamento de boletos ou 
        /// quando o usuário capturar a transação para ele seja efetivamente cobrada.
        /// </summary>
        [XmlEnum("10")]
        PagoParcialmente = 10



    }
}
